package com.jswl.training.springjpa.shedule;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

@Component
@Slf4j
public class Task {

    @Scheduled(cron = "0/1 * * * * ?")
    public void secondExport(){
        log.info("cron 每秒执行一次的任务：" + getDate());
    }

    //固定频率执行 注意：当方法的执行时间超过任务调度频率时，调度器会在当前方法执行完成后立即执行下次任务。
    //@Scheduled(fixedRate = 1000)
    //固定间隔 从任务最后一次执行开始间隔指定时长
    @Scheduled(fixedDelay = 1000)
    public void work(){
        log.info("fixedDelay 每秒执行一次的任务：" + getDate());
    }


    private String getDate(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sdf.format(new Date());
    }

}
